package thread;

public class Demo7 {
    //变量捕获
    //实际上是final，也就是我没有手动去改
    //内部类访问外部类属性
    //不会有变量捕获。
    //final的限制，很多时候是个比较麻烦的事情
    //作用域链--js
    //上述方案不够优雅，
    //可能不会及时响应
    //java的Thread类中已经写了，
    public static void main(String[] args) {
        Thread t=new Thread(()->{
            while (Thread.currentThread().isInterrupted()){
                System.out.println("线程工作中");
                try {
                    Thread.sleep(5000);
                }catch(InterruptedException e){
                    e.printStackTrace();
                    //这里可以做一些收尾工作。

                    break;
                    //所有线程公用一个标志位--很不科学，除非有一些是关联的
                    //线程等待；
                }
            }
        });
        t.start();
        try {
            Thread.sleep(5000);
        }catch(InterruptedException e){
            e.printStackTrace();
        }
        System.out.println("让t线程终止");
        t.interrupt();
    }


}
